#include <stdio.h>
#include "arene.h"
#include "Liste.h"
#ifndef SNAKE_H
#define SNAKE_H

typedef struct
{
    int longeur;
    enum {D, G, H, B, I} deplacementEnCour;
    Liste *queu;
} Snake;


/* initialise une variable de tŷpe snake  avec les valeur de la poremier position*/
void snakeInit(Snake*);

void snakeLibere(Snake *pSnake);

/*deplace le serpent vers la gauche*/
void snakeGauche(Snake *,  Arene*);

/*deplace le serpent vers la droite */
void snakeDroite(Snake *,  Arene*);

/*deplace le serpent vers le haut*/
void snakeHaut(Snake *,  Arene*);

/*deplace le serpent vers le bas */
void snakeBas(Snake *, Arene*);

/*deplace la direction serpent vers la gauce*/
void snakeGaucheDir(Snake *, const Arene*);

/*deplace la direction du serpent vers la droite */
void snakeDroiteDir(Snake *, const Arene*);

/*deplace la direction serpent vers le haut*/
void snakeHautDir(Snake *, const Arene*);

/*deplace la direction serpent vers le bas */
void snakeBasDir(Snake *, const Arene*);

void snakeInactifDir(Snake *, const Arene*);

int snakeGetX(const Snake *);

int snakeGetY(const Snake *);

void snakeSetX(Snake *,int);

void snakeSetY(Snake *, int);
/*Test si le serpent ne se mort pas la queu */
/*int snakeTestQueu(const Tail *, int , int );*/

void snakeMangerPills(Arene *, Snake *,ElemListe);

void setPills(Arene *, Snake *);

void supprQueu(Snake *);

void snakeSetXY(Snake *pSnake,int x, int y);
#endif
